#!/bin/bash

# Scientific Linux SL
if [[ -e /etc/redhat-release ]]; then
   if [[ "X$(rpm -q --qf '%{VERSION}\n' sl-release 2> /dev/null)" == "X3.0.2" ]]; then
       echo rhas3
       exit 0
   fi
   if [[ "X$(rpm -q --qf '%{VERSION}\n' sl-release 2> /dev/null)" == "X4.1" ]]; then
       echo rhas4
       exit 0
   fi
fi

# Chaos releas (LLNL)

if [[ -e /etc/chaos-release ]]; then
   if [[ "X$(rpm -q --qf '%{VERSION}\n' chaos-release 2> /dev/null)" == "X2.0" ]] ; then
       echo rhas3
       exit 0
   elif [[ "X$(rpm -q --qf '%{VERSION}\n' chaos-release 2> /dev/null)" == "X3.0" ]] ; then
       echo rhas3
       exit 0
   fi
fi

# Rocks release

if [[ -e /etc/rocks-release ]] ; then

   # ROCKS 4.0.0
   if [[ "X$(cat /etc/rocks-release 2>/dev/null | grep Whitney | sed -e 's/.*Whitney/Whitney/' | sed -e 's/Whitney.*/Whitney/')" == "XWhitney" ]] ; then
        echo rhas4
        exit 0
   fi   
   # ROCKS 3.1.0
   if [[ "X$(cat /etc/rocks-release 2>/dev/null | grep Matterhorn | sed -e 's/.*Matterhorn/Matterhorn/' | sed -e 's/Matterhorn.*/Matterhorn/')" == "XMatterhorn" ]] ; then
	echo rhas3
        exit 0
   fi
   # ROCKS 3.2.0
   if [[ "X$(cat /etc/rocks-release 2>/dev/null | grep Shasta | sed -e 's/.*Shasta/Shasta/' | sed -e 's/Shasta.*/Shasta/')" == "XShasta" ]] ; then
        echo rhas3
        exit 0
   fi
   # ROCKS 3.3.0
   if [[ "X$(cat /etc/rocks-release 2>/dev/null | grep Makalu | sed -e 's/.*Makalu/Makalu/' | sed -e 's/Makalu.*/Makalu/')" == "XMakalu" ]] ; then
        echo rhas3
        exit 0
   fi
fi

# RedHat releases.

   # RHEL4 Linux AS
if [[ -e /etc/redhat-release ]]; then
   if [[ "X$(rpm -q --qf '%{VERSION}\n' redhat-release 2> /dev/null)" == "X4AS" ]]; then
       echo rhas4
       exit 0
   fi
   # RHEL4 Linux Enterprise
   if [[ "X$(rpm -q --qf '%{VERSION}\n' redhat-release 2> /dev/null)" == "X4ES" ]]; then
	echo rhes4
	exit 0
   fi	 
   # RHEL4 Linux WS
   if [[ "X$(rpm -q --qf '%{VERSION}\n' redhat-release 2> /dev/null)" == "X4WS" ]]; then
       echo rhas4
       exit 0
   fi
   # Tao Linux Update 2
   if [[ "X$(cat /etc/redhat-release 2>/dev/null | grep Mooch | sed -e 's/.*Mooch/Mooch/' | sed -e 's/Mooch.*/Mooch/')" == "XMooch" ]] ; then
       echo rhas3
       exit 0
   fi
   # For Lustre server
   if [[ "X$(rpm -q --qf '%{VERSION}\n' hpls_lustre 2> /dev/null)" == "X1.2" ]]; then
       echo rhas21
       exit 0
   fi
   if [[ "X$(rpm -q --qf '%{VERSION}\n' redhat-release-as 2> /dev/null)" == "X2.1AS" ]]; then
       echo rhas21
       exit 0
   fi 
   if [[ "X$(rpm -q --qf '%{VERSION}\n' redhat-release 2> /dev/null)" == "X3AS" ]]; then
       echo rhas3
       exit 0
   fi 
   if [[ "X$(rpm -q --qf '%{VERSION}\n' redhat-release 2> /dev/null)" == "X3WS" ]]; then
       echo rhas3
       exit 0
   fi 
   if [[ "X$(rpm -q --qf '%{VERSION}\n' redhat-release 2> /dev/null)" == "X9" ]]; then
       echo rh90
       exit 0
   fi
   if [[ "X$(rpm -q --qf '%{VERSION}\n' redhat-release 2> /dev/null)" == "X8.0" ]]; then
       echo rh80
       exit 0
   fi
   if [[ "X$(rpm -q --qf '%{VERSION}\n' redhat-release 2> /dev/null)" == "X7.3" ]]; then
       echo rh73
       exit 0
   fi
   if [[ "X$(rpm -q --qf '%{VERSION}\n' hptc_release 2> /dev/null)" == "X1.0" ]]; then
       echo rhas3
       exit 0
   fi

   # XC RHEL4 Linux AS
   if [[ "X$(cat /etc/redhat-release 2>/dev/null | grep Nahant | sed -e 's/.*Nahant/Nahant/' | sed -e 's/Nahant.*/Nahant/')" == "XNahant" ]] ;
then
       echo rhas4
       exit 0
   fi
fi

# SuSE release.

if [[ -e /etc/SuSE-release ]] ; then

   if [[ "X$(rpm -q --qf '%{VERSION}\n' sles-release 2> /dev/null)" == 'X8' ]]; then
       echo sles80
       exit 0
   fi
   if [[ "X$(rpm -q --qf '%{VERSION}\n' sl-release 2> /dev/null)" == 'X8' ]]; then
       echo sl80
       exit 0
   fi
   if [[ "X$(rpm -q --qf '%{VERSION}\n' sl-release 2> /dev/null)" == "X8.1" ]]; then
       echo sl81
       exit 0
   fi
   if [[ "X$(rpm -q --qf '%{VERSION}\n' suse-release 2> /dev/null)" == "X9.0" ]]; then
       echo suse9
       exit 0
   fi
   if [[ "X$(rpm -q --qf '%{VERSION}\n' suse-release 2> /dev/null)" == "X9.1" ]]; then
       echo suse9.1
       exit 0
   fi
   if [[ "X$(rpm -q --qf '%{VERSION}\n' sles-release 2> /dev/null)" == "X9" ]]; then
       echo sles9
       exit 0
   fi
   if [[ "X$(rpm -q --qf '%{VERSION}\n' suse-release 2> /dev/null)" == "X9.2" ]]; then
       echo suse92
       exit 0
   fi
   if [[ "X$(rpm -q --qf '%{VERSION}\n' sles-release 2> /dev/null)" == "X9.90" ]]; then
       echo suse990
       exit 0
   fi
fi


# United Linux (SuSE based installation).
if [[ -e /etc/UnitedLinux-release ]]; then

   echo sul10
   exit 0

fi
# Yellow Dog Linux Version (PPc).

echo "UNKNOWN"
exit 1
